home *** CD-ROM | disk | FTP | other *** search
- // ==============================================================================
- /* Libreria: MOUSE.H
- ** (C) Anubis Software
- ** Escrito el 4 de Febrero 1994
- ** Esta librería sirve para controlar el raton, Utiliza las interrupciones
- ** de gestión del ratón para hacer su trabajo.
- */
- // ===============================================================================
-
- #ifndef MOUSE.H
- #define MOUSE.H
-
-
- /* NOTAS:
- ** ------
- ** 1.- Al utilizar la optimización del compilador FASTEST CODE, no es conveniente
- ** utilizar la interrupción del ratón, pues el computador se cuelga. ]:-)
- */
-
- /* --------------------------------------------+
- ** Inclusión de las librerias de Borland C++ |
- ** --------------------------------------------+
- */
- #include <dos.h>
- #include <stdio.h>
- #include <stdlib.h>
-
-
- /* ----------------------------------------------+
- ** Inclusión de las librerías de Anubis Software |
- ** ----------------------------------------------+
- */
- #include "mdefs.h"
-
-
- /* -----------------------------------------+
- ** Definición de constantes de la librería |
- ** -----------------------------------------+
- */
- #define BUTTON_LEFT 1
- #define BUTTON_RIGHT 2
- #define BUTTON_MIDDLE 4
- /* Constantes de eventos del ratón
- */
- #define MOVER_RATON 1
- #define PULSAR_IZQUIERDO 2
- #define SOLTAR_IZQUIERDO 4
- #define PULSAR_DERECHO 8
- #define SOLTAR_DERECHO 16
- #define SHIFT_PULSADO 32
- #define CTRL_PULSADO 64
- #define ALT_PULSADO 128
- #define PULSAR_CENTRO 32
- #define SOLTAR_CENTRO 64
- #define DOBLE_CLICK_DERECHO 256
- #define DOBLE_CLICK_IZQUIERDO 512
-
- #define MOUSE_INICIALIZADO 1
- #define MOUSE_NO_INICIALIZADO 0
-
- // -------------------------------------------------+
- // Definición de tipos utilizados por la librería |
- // -------------------------------------------------+
-
- // La estructura puntero, se usa para definir punteros gráficos de ratón
- // los campos despx y despy se usan para localizar el desplazamiento efectivo
- // del punto válido del raton. Se miden a partir de la esquina superior
- // izquierda, y su valor debe estar comprendido entre 1 y 16
- // La zona de memoria BUFFER, contiene dos dibujos del ratón, la primera
- // zona de 16 WORD's debe tener la máscara con AND. Y la segunda, debe tener
- // la máscara con XOR.
- typedef struct puntero {
- WORD despx;
- WORD despy;
- WORD buffer[32];
- } PUNT_RATON;
-
- // La estructura mouse, se utiliza para sintetizar el paso de parámetros
- // en algunas de las funciones asociadas.
- typedef struct mouse {
- int posx;
- int posy;
- int estado;
- } MOUSE_INFO;
-
-
- /* --------------------------------------------------+
- // Declaración de variables globales de la librería |
- // --------------------------------------------------+
- */
- extern volatile WORD mousex,mousey,estado,mouse_evento;
- extern int double_click_delay;
-
- // ------------------------------------------------------------+
- // Declaración e implementación de las rutinas de la librería |
- // ------------------------------------------------------------+
- void ConvertMouse(void);
- void EventMouseFastExecution(void);
- void EventMouseExecution(void);
- void EventMouseFinFastExecution(void);
- void EventMouseFinExecution(void);
- void EventMouseSkipFastExecution(void);
- void EventMouseSkipExecution(void);
- #ifndef __SC__
- void EventEmpilaMouseFastRutina(void far (*)(void));
- void EventEmpilaMouseRutina(void far (*)(void));
- #else
- void EventEmpilaMouseFastRutina(void (far *)(void));
- void EventEmpilaMouseRutina(void (far *)(void));
- #endif
- void EventDesempilaMouseFastRutina();
- void EventDesempilaMouseRutina();
- int InitMouse(int );
- void MouseOff(void);
- void show_mouse(void);
- void ide_mouse(void);
- void pos_mouse(int ,int );
- void tasa_int_mouse(int);
- void pagina_mouse(int ) ;
- struct mouse inf_mouse(void);
- int boton_mouse(void);
- struct mouse inf_suelta_mouse(int ,int *, int *,int *);
- struct mouse inf_pulsa_mouse(int ,int *, int *,int *);
- void init_mouse(void);
- void init_double_click (void);
- int test_double_click(void);
- void limit_horizontal_area_raton(int ,int );
- void seleccionar_puntero_texto(int ,int ,int );
- void cambiar_puntero_grafico(PUNT_RATON );
- PUNT_RATON leer_puntero_raton(char *);
- void grabar_puntero_raton (char *, PUNT_RATON );
-
- #endif
-